home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / rec.games.corewar < prev    next >
Encoding:
Text File  |  1995-04-11  |  27.9 KB  |  656 lines

  1. Archive-name: games/corewar-faq
  2. Last-modified: 1994/11/25
  3. Version: 2.3.1
  4.  
  5. These are the Frequently Asked Questions (and answers) from the USENET
  6. newsgroup rec.games.corewar. This FAQ list is also available by anonymous FTP
  7. from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z.
  8.  
  9.  
  10. TABLE OF CONTENTS                                                   Line
  11. ------------------------------------------------------------------------
  12.  
  13.  1. What is Core War?                                                 69
  14.  
  15.  2. Is it Core War or Core Wars?                                      82
  16.  
  17.  3. Where can I find more information about Core War?                 90
  18.  
  19.  4. Core War has changed since Dewdney's articles. Where do I get    116
  20.     a copy of the current instruction set?
  21.  
  22.  5. What is ICWS'94? Which simulators support ICWS'94?               135
  23.  
  24.  6. What is the ICWS?                                                152
  25.  
  26.  7. What is TCWN?                                                    162
  27.  
  28.  8. How do I join?                                                   170
  29.  
  30.  9. Are back issues of TCWNs available?                              187
  31.  
  32. 10. What is the EBS?                                                 194
  33.  
  34. 11. Where are the Core War archives?                                 208
  35.  
  36. 12. Where can I find a Core War system for . . . ?                   226
  37.  
  38. 13. I do not have ftp.  How do I get all of this great stuff?        275
  39.  
  40. 14. I do not have access to Usenet.  How do I post and receive news? 285
  41.  
  42. 15. When is the next tournament?                                     303
  43.  
  44. 16. What is KotH?  How do I enter?                                   314
  45.  
  46. 17. Is it DAT 0, 0 or DAT #0, #0?  How do I compare to core?         483
  47.  
  48. 18. How does SLT (Skip if Less Than) work?                           495
  49.  
  50. 19. What does (expression or term of your choice) mean?              507
  51.  
  52. 20. Other questions?                                                 650
  53.  
  54. ---------------------------------------------------------------------
  55.  
  56. Q 1: What is Core War?
  57. A 1: Core War is a game played by two or more programs (and vicariously
  58. by their authors) written in an assembly language called Redcode and
  59. run in a virtual computer called MARS (for Memory Array Redcode Simulator).
  60. The object of the game is to cause all of the opposing programs to
  61. terminate, leaving your program in sole posession of the machine.
  62.  
  63. There are Core War systems available for most computer platforms.
  64. Redcode has been standardized by the ICWS, and is therefore transportable
  65. between all standard Core War systems.
  66.  
  67. ----------------------------------------------------------------------
  68.  
  69. Q 2: Is it "Core War" or "Core Wars"?
  70. A 2: Both terms are used.  Early references were to Core War.  Later
  71. references seem to use Core Wars.  I prefer "Core War" to refer to
  72. the game in general, "core wars" to refer to more than one specific
  73. battle.
  74.  
  75. ----------------------------------------------------------------------
  76.  
  77. Q 3: Where can I find more information about Core War?
  78. A 3: Core War was first described in the "Core War Guidelines" of March,
  79. 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer
  80. Science at The University of Western Ontario (Canada).  Dewdney wrote
  81. several "Computer Recreations" articles in "Scientific American" which
  82. discussed Core War, starting with the May 1984 article.  Those articles
  83. are contained in two anthologies:
  84.  
  85. Author: Dewdney, A. K.
  86. Title: The Armchair Universe: An Exploration of Computer Worlds
  87. Published: New York: W. H. Freeman (c) 1988
  88. ISBN: 0-7167-1939-8
  89. Library of Congress Call Number: QA76.6 .D517 1988
  90.  
  91. Author: Dewdney, A. K.
  92. Title: The Magic Machine: A Handbook of Computer Sorcery
  93. Published: New York: W. H. Freeman (c) 1990
  94. ISBN: 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback)
  95. Library of Congress Call Number: QA76.6 .D5173 1990
  96.  
  97. A.K. Dewdney's articles are still the most readable introduction to
  98. Core War, even though the Redcode dialect described in there is no
  99. longer current (see Q 4).
  100.  
  101. ---------------------------------------------------------------------
  102.  
  103. Q 4: Core War has changed since Dewdney's articles. Where do I get a
  104. copy of the current instruction set?
  105. A 4: A draft of the official standard (ICWS'88) is available by anonymous
  106. FTP from the Core War archives (ftp.csua.berkeley.edu) as
  107. pub/corewar/documents/standards/redcode-icws-88.Z
  108.  
  109. This document is formatted awkwardly and contains ambiguous statements. For a
  110. more approachable intro to Redcode, take a look at
  111. pub/corewar/documents/tutorial.1.Z
  112.                       tutorial.2.Z
  113. (See also Q11)
  114.  
  115. Steven Morrell (morrell@math.utah.edu) is preparing a more practically
  116. oriented Redcode tutorial that discusses different warrior classes with lots
  117. of example code. Mail him for a preliminary version. Michael Constant (mconst@
  118. ftp.csua.berkeley.edu) is reportedly working on a beginner's introduction.
  119.  
  120. ---------------------------------------------------------------------
  121.  
  122. Q 5: What is ICWS'94? Which simulators support ICWS'94?
  123. A 5: There is an ongoing discussion about future enhancements to the
  124. Redcode language. A proposed new standard, dubbed ICWS'94, is currently
  125. being evaluated. A major change is the addition of "instruction modifiers"
  126. that allow instructions to modify A-field, B-field or both. Also new is a
  127. post-increment indirect addressing mode and unrestricted opcode and
  128. addressing mode combination ("no illegal instructions"). ICWS'94 is
  129. backwards compatible; i.e. ICWS'88 warriors will run correctly on an
  130. ICWS'94 system.  Take a look at the ICWS'94 draft for more information
  131. (ftp.csua.berkeley.edu pub/corewar/documents/icws94.0202.Z).  You can try out
  132. the new standard by submitting warriors to the '94 hills of the KotH
  133. servers (see Q16).  Two corewar systems currently support ICWS'94,
  134. pMARS (various platforms) and Redcoder (Mac), both available at soda (see
  135. Q12).
  136.  
  137. ---------------------------------------------------------------------
  138.  
  139. Q 6: What is the ICWS?
  140. A 6: About one year after Core War first appeared in Sci-Am, the
  141. "International Core War Society" (ICWS) was established.  Since that
  142. time, the ICWS has been responsible for the creation and maintenance
  143. of Core War standards and the running of Core War tournaments.  There
  144. have been six annual tournaments and two standards (ICWS'86 and
  145. ICWS'88).
  146.  
  147. ---------------------------------------------------------------------
  148.  
  149. Q 7: What is TCWN?
  150. A 7: Since March of 1987, "The Core War Newsletter" (TCWN) has been the
  151. official newsletter of the ICWS.  It is published quarterly and recent
  152. issues are also available as Encapsulated PostScript on ftp.csua.berkeley.edu
  153. (see Q9).
  154.  
  155. ---------------------------------------------------------------------
  156.  
  157. Q 8: How do I join?
  158. A 8: For more information about joining the ICWS (which includes a
  159. subscription to TCWN), or to contribute an article, review, cartoon, letter,
  160. joke, rumor, etc. to TCWN, please contact:
  161.  
  162.    Jon Newman
  163.    13824 NE 87th Street
  164.    Redmond, WA 98052-1959
  165.    email: jonn@microsoft.com  (Note: Microsoft has NO affiliation with
  166.                                      Core War.  Jon Newman just happens
  167.                                      to work there, and we want to keep
  168.                                      it that way!)
  169.  
  170. Current annual dues are $15.00 in US currency.
  171.  
  172. ----------------------------------------------------------------------
  173.  
  174. Q 9: Are back issues of TCWN available?
  175. A 9: Recent issues can be found on ftp.csua.berkeley.edu (see Q11).
  176. Older issues (up to Winter 1991) are also available (see the next TCWN
  177. for details).
  178.  
  179. ---------------------------------------------------------------------
  180.  
  181. Q10: What is the EBS?
  182. A10: The Electronic Branch Section (EBS) of the ICWS is a group of
  183. Core War enthusiasts with access to electronic mail.  There are no fees
  184. associated with being a member of the EBS, and members do reap some of
  185. the benefits of full ICWS membership without the expense.  For instance,
  186. the ten best warriors submitted to the EBS tournament are entered
  187. into the annual ICWS tournament.  All EBS business is conducted in the
  188. rec.games.corewar newsgroup.
  189.  
  190. The current goal of the EBS is to be at the forefront of Core War by writing
  191. and implementing new standards and test suites (see Q 5).
  192.  
  193. ----------------------------------------------------------------------
  194.  
  195. Q11: Where is the Core War archive?
  196. A11: Many documents such as the guidelines and the ICWS standards
  197. along with previous tournament Redcode entries and complete Core War
  198. systems are available via anonymous ftp from ftp.csua.berkeley.edu
  199. (128.32.43.51) in the /pub/corewar directories.  Also, most of past
  200. rec.games.corewar postings (including Redcode source listings) are
  201. archived there.  Jon Blow (blojo@ftp.csua.berkeley.edu) is the archive
  202. administrator. When uploading to /pub/corewar/incoming, ask Jon to move
  203. your upload to the appropriate directory and announce it on the net.
  204.  
  205. Much of what is available on soda is also available on the German archive
  206. at iraun1.ira.uka.de (129.13.10.90) in the /pub/X11/corewars directory.
  207.  
  208. This FAQ is automatically archived by news.answers.  See the header for
  209. the current archive name and news.answers for how to get it.
  210.  
  211. ----------------------------------------------------------------------
  212.  
  213. Q12: Where can I find a Core War system for . . . ?
  214. A12: Core War systems are available via anonymous ftp from
  215. ftp.csua.berkeley.edu in the pub/corewar/systems directory. Currently, there are
  216. UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available
  217. there. It is a good idea to check pub/corewar/incoming for program updates
  218. first.
  219.  
  220. CAUTION!  There are many, many Core War systems available which are NOT
  221. ICWS'88 (or even ICWS'86) compatible available at various archive sites
  222. other than ftp.csua.berkeley.edu.  Generally, the older the program - the less
  223. likely it will be ICWS compatible.
  224.  
  225. Reviews of Core War systems would be greatly appreciated in the newsgroup
  226. and in the newsletter.
  227.  
  228. Below is a not necessarily complete or up-to-date list of what's available
  229. at soda:
  230.  
  231.         MADgic41.lzh    - corewar for the Amiga, v4.1
  232.         MAD4041.lzh     - older version?
  233.         MAD50B.lha      - corewar for the Amiga, beta version 5.0
  234.         Redcoder-21.hqx - corewar for the Mac, supports ICWS'88 and '94
  235.         core-11.hqx     - corewar for the Mac
  236.         core-wars-simulator.hqx - same as core-11.hqx?
  237.         corewar_unix_x11.tar.Z - corewar for UNIX/X-windows, ICWS'86 but
  238.                 not ICWS'88 compatible
  239.         koth31.tar.Z    - corewar for UNIX/X-windows. This program ran the
  240.                           former KotH server at intel.com
  241.         koth.shar.Z     - older version
  242.         kothpc.zip      - port of older version of KotH to the PC
  243.         deluxe20c.tar.Z - corewar for UNIX (broken X-windows or curses) and PC
  244.         mars.tar.Z      - corewar for UNIX, likely not ICWS'88 compatible
  245.         icons.zip       - corewar icons for MS-Windows
  246.         macrored.zip    - a redcode macro-preprocessor (PC)
  247.         c88v49.zip      - PC corewar, textmode display
  248.         mars88.zip      - PC corewar, graphics mode display
  249.         corwp302.zip    - PC corewar, textmode display, slowish
  250.         mercury2.zip    - PC corewar written in assembly, fast!
  251.         mtourn11.zip    - tournament scheduler for mercury (req. 4DOS)
  252.         pmars06s.zip    - portable system, ICWS'88 and '94, runs on UNIX,
  253.                           PC, Mac, Amiga. C source archive
  254.         pmars06s.tar.Z  - same as above
  255.         pmars062.zip    - PC executables with graphics display, req 386+
  256.         macpmars02.sit.hqx - pMARS executable for Mac (port of version 0.2)
  257.                  buggy, no display
  258.     MacpMARS.10.cpt.hqx - port of v0.6 for the Mac, with display and 
  259.                   debugger
  260.     MacpMARS.10s.cpt.hqx - C source (MPW, ThinkC) for Mac frontend
  261.         ApMARS03.lha    - pMARS executable for Amiga (port of version 0.3.1)
  262.         wincor11.zip    - MS-Windows system, shareware ($15)
  263.  
  264. ----------------------------------------------------------------------
  265.  
  266. Q13: I do not have ftp.  How do I get all of this great stuff?
  267. A13: There is an ftp email server at ftpmail@decwrl.dec.com.  Send
  268. email with a subject and body text of "help" (without the quotes) for
  269. more information on its usage. If you don't have access to the net at all,
  270. send me a 3.5 '' diskette in a self-addressed disk mailer with postage and
  271. I will mail it back with an image of the Core War archives in PC format.
  272. My address is at the end of this post.
  273.  
  274. ----------------------------------------------------------------------
  275.  
  276. Q14: I do not have access to Usenet.  How do I post and receive news?
  277. A14: To receive rec.games.corewar articles by email, join the COREWAR-L
  278. list run on the Stormking.Com ListProcessor.  To join, send:
  279.  
  280.         SUB COREWAR-L FirstName LastName
  281. to:
  282.         LISTPROC@STORMKING.COM
  283.  
  284. You can send mail to corewar-l@stormking.com to post even if you are not
  285. a member of the list. Responsible for the listserver is Scott J. Ellentuch
  286. (tuc@stormking.com).
  287.  
  288. Another server that allows you to post (but not receive) articles is
  289. available. Email your post to rec-games-corewar@cs.utexas.edu and it will be
  290. automatically posted for you.
  291.  
  292. ----------------------------------------------------------------------
  293.  
  294. Q15: When is the next tournament?
  295. A15: The ICWS holds an annual tournament.  Traditionally, the deadline
  296. for entering is the 15th of December.
  297.  
  298. The EBS usually holds a preliminary tournament around the 15th of November
  299. and sends the top finishers on to the ICWS tournament.
  300.  
  301. Informal double-elimination tournaments are held frequently among readers of
  302. the newsgroup; watch there for announcements or contact me.
  303.  
  304. ----------------------------------------------------------------------
  305. Q16: What is KotH?  How do I enter?
  306. A16: King Of The Hill (KotH) is an ongoing Core War tournament
  307. available to anyone with email.  You enter by submitting via email a Redcode
  308. program with special comment lines.  You will receive a reply indicating how
  309. well your program did against the current top twenty programs "on the hill".
  310. Your program will play 100 battles against each of the 20 other programs
  311. currently on the Hill. You receive 3 points for each win and 1 point for each
  312. tie.  (The existing programs do not replay each other, but their previous
  313. battles are recalled.) All scores are updated to reflect your battles and all
  314. 21 programs are ranked from high to low.  If you are number 21 you are pushed
  315. off the Hill, if you are higher than 21 someone else is pushed off.
  316.  
  317. The original KotH was developed and run by William Shubert at Intel, and
  318. discontinued after almost three years of service. Currently, KotHs based on
  319. Bill's UNIX scripts but offering a wider variety of hills are are running at
  320. two sites: "koth@stormking.com" is maintained by Scott J. Ellentuch
  321. (tuc@stormking.com) and "pizza@ecst.csuchico.edu" by Thomas H. Davies
  322. (sd@ecst.csuchico.edu). Both KotHs provide very similar services and are
  323. therefore covered together. The principal difference is that "pizza" has a
  324. much faster internet connection than "stormking".
  325.  
  326. Entry rules for King of the Hill Corewar:
  327.  
  328. 1) Write a corewar program.  KotH is fully ICWS '88 compatible, EXCEPT that
  329.    a comma (",") is required between two arguments.
  330.  
  331. 2) Put a line starting with ";redcode" at the top of your program.
  332.    This MUST be the first line.  Anything before it will be lost.  If
  333.    you wish to receive mail on every new entrant, use ";redcode
  334.    verbose".  Otherwise you will only receive mail if a challenger
  335.    makes it onto the hill.  Use ";redcode quiet" if you wish to
  336.    receive mail only when you get shoved off the hill.  (Also, see 5
  337.    below).
  338.  
  339.    Additionally, adding ";name <program name>" and ";author <your name>"
  340.    will be helpful in the performance reports.  Do NOT have a line
  341.    beginning with ";address" in your code; this will confuse the mail daemon
  342.    and you won't get mail back.
  343.  
  344.    In addition, it would be nice if you have lines beginning with
  345.    ";strategy" that describe the algorithm you use.
  346.  
  347.    There are currently six separate hills you can select by starting your
  348.    program with ;redcode, ;redcode-x, ;redcode-icws, ;redcode-b, ;redcode-94,
  349.    or ;redcode-94x.  More information on these hills is listed below.
  350.  
  351. 3) Mail this file to "koth@stormking.com" or "pizza@ecst.csuchico.edu".
  352.    "Pizza" requires a subject of "koth" (use the -s flag on most mailers).
  353.  
  354. 4) Within a few minutes (or the next day for "stormking") you should get mail
  355.    back telling you whether your program assembled correctly or not.  If it
  356.    did assemble correctly, sit back and wait; if not, make the change
  357.    required and re-submit.
  358.  
  359. 5) In an hour or so (or the next day for "stormking") you should get more
  360.    mail telling you how your program performed against the current top 20
  361.    programs.  If no news arrives during that time, don't worry; entries are
  362.    put in a queue and run through the tournament one at a time.  A backlog
  363.    may develop.  Be patient.
  364.  
  365.    If your program makes it onto the hill, you will get mail every time a
  366.    new program makes it onto the hill.  If this is too much mail, you can use
  367.    ";redcode quiet" when you first mail in your program; then you will only
  368.    get mail when you make it on the top 20 list or when you are knocked off.
  369.    Using ";redcode verbose" will give you even more mail; here you get mail
  370.    every time a new challenger arrives, even if they don't make it onto the
  371.    top 20 list.
  372.  
  373.    Often programmers want to try out slight variations in their programs.
  374.    If you already have a program named "foo V1.0" on the hill, adding the
  375.    line ";kill foo" to a new program will automatically bump foo 1.0 off the
  376.    hill.  Just ";kill" will remove all of your programs when you submit the
  377.    new one.  The server kills programs by assigning an impossibly low score;
  378.    it may therefore take another successful challenge before a killed program
  379.    is actually removed from the hill.
  380.  
  381. SAMPLE ENTRY:
  382. ;redcode
  383. ;name Dwarf
  384. ;author A. K. Dewdney
  385. ;strategy Throw DAT bombs around memory, hitting every 4th memory cell.
  386. ;strategy This program was presented in the first Corewar article.
  387. bomb  DAT   #0
  388. dwarf ADD   #4,    bomb
  389.       MOV   bomb, @bomb
  390.       JMP   dwarf
  391.       END   dwarf          ; Programs start at the first line unless
  392.                            ; an "END start" pseudo-op appears to indicate
  393.                            ; the first logical instruction.  Also, nothing
  394.                            ; after the END instruction will be assembled.
  395.  
  396. Here are the Specs for the various hills:
  397.  
  398. ICWS'88 Standard Hill Specs: (Accessed with ";redcode", available at
  399. "stormking" and "pizza")
  400.          coresize: 8000
  401.    max. processes: 8000
  402.          duration: after 80,000 cycles, a tie is declared.
  403. max. entry length: 100
  404.  minimum distance: 100
  405.   instruction set: ICWS '88
  406.  
  407. ICWS Annual Tournament Hill Specs: (Accessed with ";redcode-icws",
  408. available at "stormking" only)
  409.          coresize: 8192 instructions
  410.    max. processes: 8000 per program
  411.          duration: After 100,000 cycles, a tie is declared.
  412. max. entry length: 300
  413.  minimum distance: 300
  414.   instruction set: ICWS '88
  415.  
  416. ICWS'88 Experimental (Small) Hill Specs: (Accessed with ";redcode-x",
  417. available at "pizza" only)
  418.          coresize: 4096
  419.    max. processes: 32
  420.          duration: after 65,536 cycles, a tie is declared.
  421. max. entry length: 64
  422.  minimum distance: 64
  423.   instruction set: ICWS '88
  424.  
  425. ICWS'94 Draft Hill Specs: (Accessed with ";redcode-94", available at
  426. "stormking" and "pizza")
  427.          coresize: 8000
  428.    max. processes: 8000
  429.          duration: after 80,000 cycles, a tie is declared.
  430. max. entry length: 100
  431.  minimum distance: 100
  432.   instruction set: ICWS '94 Draft
  433.  
  434. ICWS'94 Beginner's Hill Specs: (Accessed with ";redcode-b", available
  435. at "pizza" only)
  436.          coresize: 8000
  437.    max. processes: 8000
  438.          duration: after 80,000 cycles, a tie is declared.
  439. max. entry length: 100
  440.  minimum distance: 100
  441.   instruction set: ICWS '94 Draft
  442.  
  443. ICWS'94 Experimental (Big) Hill Specs: (Accessed with ";redcode-94x",
  444. available at "stormking" and "pizza")
  445.          coresize: 55440
  446.    max. processes: 10000
  447.          duration: after 500,000 cycles, a tie is declared.
  448. max. entry length: 200
  449.  minimum distance: 200
  450.   instruction set: ICWS '94 Draft
  451.  
  452. If you just want to get a status report without actually challenging the
  453. hills, send email with ";status" as the message body (and don't forget
  454. "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject:
  455. koth help" you will receive instructions that may be more up to date than
  456. those contained in this document.
  457.  
  458. All hills run portable MARS (pMARS) version 0.6, a platform-independent
  459. corewar system available at soda (see Q12).
  460.  
  461. The '94 and '94x hills allow three experimental opcodes and
  462. addressing modes currently not covered in the ICWS'94 draft document:
  463.  
  464.         SEQ - Skip if EQual (synonym for CMP)
  465.         SNE - Skip if Not Equal
  466.         NOP - (No OPeration)
  467.  
  468.         *   - indirect using A-field as pointer
  469.         {   - predecrement indirect using A-field
  470.         }   - postincrement indirect using A-field
  471.  
  472. ----------------------------------------------------------------------
  473.  
  474. Q17: Is it DAT 0, 0 or DAT #0, #0?  How do I compare to core?
  475. A17: Core is initialized to DAT 0, 0.  This is an "illegal" instruction
  476. under ICWS'88 rules and strictly compliant assemblers (such as KotH or
  477. pmars -8) will not let you write a DAT 0, 0 instruction - only DAT #0, #0.
  478. So this begs the question, how to compare something to see if it is empty
  479. core.  The answer is, most likely the instruction before your first
  480. instruction and the instruction after your last instruction are both DAT
  481. 0, 0.  You can use them, or any other likely unmodified instructions, for
  482. comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction.
  483.  
  484. ----------------------------------------------------------------------
  485.  
  486. Q18: How does SLT (Skip if Less Than) work?
  487. A18: SLT gives some people trouble because of the way modular arithmetic
  488. works.  It is important to note that all negative numbers are converted
  489. to positive numbers before a battles begins.  Example: (-1) becomes
  490. (M - 1) where M is the memory size.
  491.  
  492. Once you realize that all numbers are treated as positive, it is clear 
  493. what is meant by "less than".  It should also be clear that no number is
  494. less than zero.
  495.  
  496. ----------------------------------------------------------------------
  497.  
  498. Q19: What does (expression or term of your choice) mean?
  499. A19: Here is a selected glossary of terms.  If you have a definition and/or
  500. term you wish to see here, please send it to me.
  501.  
  502. (References to an X-like program mean that the term X is derived from the
  503.    specific program X and has become a generic term).
  504.  
  505. Bootstrapping - Strategy of copying the active portion of the program
  506.    away from the initial location, leaving a decoy behind and
  507.    making the relocated program as small as possible.
  508.  
  509. B-Scanners - Scanners which only recognize non-zero B-fields.
  510.            example  add #10,scan
  511.            scan     jmz example,10
  512.  
  513. C - Measure of speed, equal to one location per cycle.  Speed of light.
  514.  
  515. CMP-Scanner - A Scanner which uses a CMP instruction to look for opponents.
  516.            example  add step,scan
  517.            scan     cmp 10,30
  518.                     jmp attack
  519.                     jmp example
  520.            step     dat #20,#20
  521.  
  522. Color - Property of bombs making them visible to scanners, causing them
  523.    to attack useless locations, thus slowing them down.
  524.            example  dat #100
  525.  
  526. Core-Clear - code that sequentially overwrites core with DAT instructions;
  527.    usually the last part of a program.
  528.  
  529. Decoys - Bogus or unused instructions meant to slow down Scanners.
  530.    Typically, DATs with non-zero B-fields.
  531.  
  532. DJN-Stream (also DJN-Train) - Using a DJN command to rapidly decrement core
  533.    locations.
  534.            example   . . .
  535.                      . . .
  536.                      djn example,<4000
  537.  
  538. Dwarf - the prototypical small bomber.
  539.  
  540. Gate-busting - (also gate-crashing) technique to "interweave" a
  541.    decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard
  542.    one to overrun imp-gates.
  543.  
  544. Hybrids - warriors that combine two or more of the basic strategies,
  545.    either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone).
  546.  
  547. Imp - Program which only uses the MOV instruction.
  548.            example  MOV 0, 1
  549.        or
  550.            example  MOV 0, 2
  551.                     MOV 0, 2
  552.  
  553. Imp-Gate - A location in core which is bombed or decremented continuously
  554.    so that an Imp can not pass.  Also used to describe the program-code
  555.    which maintains the gate.
  556.            example   ...
  557.                      ...
  558.                      SPL 0, <example
  559.                      DAT <example, #0
  560.  
  561. Imp-Ring - A minimal Imp-Spiral.
  562.             d        EQU (coresize+1)/3
  563.             A        MOV 0,d   ; copy self to B
  564.             B        MOV 0,d   ; copy self to C
  565.             C        MOV 0,d   ; copy self to A+1
  566.  
  567. Imp-Spiral - An Imp-like program with two or more processes supporting
  568.    each other.  A three-point spiral, with six processes running in this
  569.    sequence:
  570.             d        EQU (coresize+1)/3
  571.             A        MOV 0,d   ; copy self to B
  572.             B        MOV 0,d   ; copy self to C
  573.             C        MOV 0,d   ; copy self to A+1
  574.             A+1      MOV 0,d   ; copy self to B+1
  575.             B+1      MOV 0,d   ; copy self to C+1
  576.             C+1      MOV 0,d   ; copy self to A+2
  577.  
  578. Incendiary Bomb - A type of Stun bomb which creates a SPL 0 carpet.
  579.            example   SPL 0, 8
  580.                      MOV -1, <-1
  581.  
  582. Mirror - see reflection
  583.  
  584. On-axis  -
  585. Off-axis - On-axis scanners compare two locations M/2 apart, where M
  586.    is the memory size.  Off-axis scanners use some other separation.
  587.  
  588. Optimal Constants - (also optima-type constants) Bomb or scan increments
  589.    chosen to cover core most effectively, i.e. leaving gaps of uniform
  590.    size. Programs to calculate optimal constants are available at soda.
  591.  
  592. Paper - A Paper-like program.  One which replicates itself many times.
  593.    Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy.
  594.  
  595. Pit-Trapper - (also Slaver, Vampire).  A program which enslaves another.
  596.    Usually accomplished by bombing with JMPs to a SPL 0 pit with an
  597.    optional core-clear routine.
  598.  
  599. Reflection - Copy of a program or program part, positioned to make
  600.    the active program invisible to a CMP-scanner.
  601.  
  602. Replicator - Generic for Paper.  A program which makes many copies of
  603.    itself, each copy also making copies.
  604.  
  605. Self-Splitting - Strategy of amplifying the number of processes executing
  606.    a piece of code.
  607.            example   SPL 0
  608.            loop      ADD #10, example
  609.                      MOV example, @example
  610.                      JMP loop
  611.  
  612. Scanner - A program which searches through core for an opponent rather
  613.    than bombing blindly.
  614.  
  615. Scissors - A program designed to beat replicators, usually a (B-field
  616.    scanning) vampire.  Part of the Paper-Scissors-Stone analogy.
  617.  
  618. Self-Repair - Ability of a program to fix it's own code after attack.
  619.  
  620. Slaver - see Pit-Trapper.
  621.  
  622. Stealth - Property of programs, or program parts, which are invisible
  623.    to scanners, accomplished by using zero B-fields and reflections.
  624.  
  625. Stone - A Stone-like program designed to be a small bomber.  Part of the
  626.    Paper-Scissors-Stone analogy.
  627.  
  628. Stun - A type of bomb which makes the opponent multiply useless processes,
  629.    thus slowing it down.  Example is referred to as a spl-jmp bomb.
  630.           example spl 0
  631.                   jmp -1
  632.  
  633. Two-Pass Core-Clear - (also spl/dat -"-) core clear that fills
  634.    core first with SPL instructions, then with DATs. This is very
  635.    effective in killing paper and certain imp-spiral variations.
  636.  
  637. Vampire - See Pit-Trapper.
  638.  
  639. ----------------------------------------------------------------------
  640.  
  641. Q20: Other questions?
  642. A20: Just ask in the rec.games.corewar newsgroup or contact me (address
  643. below). If you are shy, check out the Core War archives on soda first to
  644. see if your question has been answered before (see Q11).
  645.  
  646. ----------------------------------------------------------------------
  647.  
  648. Additions/Corrections/etc. to this document are solicited.
  649. The rec.games.corewar FAQ is maintained by:
  650.  
  651. Stefan Strack, PhD                          stst@vuse.vanderbilt.edu
  652. Institute for Developmental Neuroscience    stst@idnsun.gpct.vanderbilt.edu
  653. P.O. 152, Peabody College                   stracks@vuctrvax.bitnet
  654. Vanderbilt University                       Voice: +615-343-0544
  655. Nashville, TN 37203, USA                    FAX:   +615-343-0242
  656.